package com.tennet.service;

import java.io.Serializable;
import java.util.List;

import com.tennet.dao.BaseDao;

public abstract class BaseService<T> {

	/**
	 * 
	 * setDao:(通过setter注入不同类型的Dao)
	 * 2011-4-12      
	 * pugang
	 * @param  @param dao   
	 * @return void    
	 * @throws
	 */
	public abstract void setDao(BaseDao<T> dao);

	/**
	 * 
	 * getDao:(获取dao)
	 * 2011-4-12      
	 * pugang
	 * @return BaseDao<T>    
	 * @throws
	 */
	protected abstract BaseDao<T> getDao();

	public void add(T o) {
		getDao().insert(o);
	}

	public void add(List<T> t) {
		getDao().insert(t);
	}

	public T find(Serializable id) {
		return getDao().find(id);
	}

	public List<T> find(Object parameter) {
		return getDao().find(parameter);
	}

	public void update(T parameter) {
		getDao().update(parameter);
	}

	public void update(List<T> list) {
		getDao().update(list);
	}

	public void delete(Serializable id) {
		getDao().delete(id);
	}

	public void delete(Object parameter) {
		getDao().delete(parameter);
	}
}
